package extend.接口;

public interface MyInterface extends MyInterfaceA, MyInterfaceB {
    //1.所有属性都是常量(public,static,final修饰)
    String name = "qwq";

    //2.接口没有构造方法
    //    public MyInterface() {}
    //3.接口方法都是抽象方法,不能有普通方法(public,abstract修饰)
    public abstract void method();
    //4.接口和接口---支持多继承
    //  类和类--- 不支持多继承
    //  类和接口---可以实现多个接口

    //5.不能被实例化
    //6.jdk1.8 接口支持静态方法和默认方法
    public static void methodStatic() {
        System.out.println("接口中的静态方法");
    }

    public default void methodDefault() {
        System.out.println("接口中的默认方法");
    }
}

interface MyInterfaceA {
    void methodA();
}

interface MyInterfaceB {
    void methodB();
}

class MyInterfaceImpl implements MyInterface {
    @Override
    public void method() {
        System.out.println("实现类重写接口中的抽象方法");
    }

    @Override
    public void methodA() {
        System.out.println("实现类重写接口中的抽象方法A");
    }

    @Override
    public void methodB() {
        System.out.println("实现类重写接口中的抽象方法B");
    }
}